home *** CD-ROM | disk | FTP | other *** search
- // MyVUMeterPeriodical.h
- // Gregory Lo
- // 22 June 2000 (MacHack 2000)
-
- #pragma once
-
- #include <MacTypes.h>
- #include <Sound.h>
- #include <Events.h>
- #include <DrawSprocket.h>
-
- #include <LPeriodical.h>
-
- class MyVUMeterPeriodical : public LPeriodical
- {
- public:
-
- enum
- {
- kkVUMeterDelay = 1,
- kVUMeterVelocityUp = 15,
- kVUMeterVelocityDown = 10,
- kVUMeterMinIntensity = 5,
- kVUMeterMaxIntensity = 100,
- kVUMeterPulse = 30
- };
-
- void Pulse( SInt32 inPulse = kVUMeterPulse );
- void PulseTo( SInt32 inPulseDst = kVUMeterMaxIntensity );
- void Reset( void );
- void Toggle( void );
-
- virtual void SpendTime( const EventRecord& inMacEvent );
-
- static MyVUMeterPeriodical& Instance( void );
-
- protected:
-
- MyVUMeterPeriodical( void );
- ~MyVUMeterPeriodical( void );
-
- SInt32 mIntensity;
- SInt32 mDstIntensity;
- UInt32 mLastUpdateTime;
- SInt32 mVelocity;
- long mSIRefNum;
- };
-